function [IRF]=SubFun_Param2Moment(PP,SS,MODEL,EquJac,Info,Param)

%% Parameters
FixedParamList  =   fieldnames(Info.FixedParam);
if ~isempty(FixedParamList)
    for ii=1:length(FixedParamList)
        vv          =   FixedParamList{ii};
        PP.(vv)     =   Info.FixedParam.(vv);
    end
end

for ii=1:Info.ParamNum
    vv              =   Info.ParamList{ii};
    PP.(vv)         =   Param(ii);
end

%% Perturbation Solution
EquJac.NK       =   Equ_NK(PP,SS,1);
fir_ord         =   JacAssemble(MODEL,EquJac);
[gx,hx,gxhx_ExitFlag,gxhx_Info]=gx_hx(fir_ord,1);
if gxhx_ExitFlag~=1
    warning('Perturbation Solution is problematic');
    IRF         =   [];
    return
else
    solution    =   struct('gx',gx,'hx',hx);
    IRF         =   IRF_1order(MODEL,solution,Info.StdVec,[],4*10);
end
